package kjh820909.basic;

import java.util.Scanner;

import kjh820909.model.SungJukVO;
import kjh820909.service.ArraySungJuk;
import kjh820909.service.JDBCSungJuk;

public class J19_Sungjuk_v6 {

	private static final String title = "JDBC를 이용한 성적프로그램";
	private static final String menu = 
			">>> 추가(1) 조회(2) 수정(3) 삭제(4) 종료(0)";
	private static final String addmsg = "이름,국어,영어, 수학 순으로 입력하세요";
	private static final String modmsg1 = "수정할 데이터 번호를 입력하세요";
	private static final String modmsg2 = 
			"수정할 데이터를 이름,국어,영어,수학 순으로 입력";
	private static final String delmsg = 
			"삭제할 데이터 번호를 입력하세요";
	
	
	public static void main(String[] args) {
		// 오라클 데이터 베이스를 이용한 성적 처리
		// ArraySungJuk 대신 JDBCSungJuk으로 변경
		JDBCSungJuk sjsrv =
				new JDBCSungJuk();
		Scanner sc = new Scanner(System.in);
		
		while(true){
			System.out.println( title );
			System.out.println( menu );
			
			
			switch(sc.nextInt()){
			case 0: sc.close(); 
					System.exit(0);
					break;
			case 1: addSungJuk(sc, sjsrv); break;
			case 2: showSungJuk(sjsrv); break;
			case 3: modifySungJuk(sc, sjsrv); break;
			case 4: removeSungJuk(sc, sjsrv); break;
			}
		}
		
		
	}

	private static void removeSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
			// 삭제하기 전에 전체자료를 먼저 출력
		System.out.println( delmsg );
		String sjno = sc.next();
			// 삭제할 학생번호 입력
		if(sjsrv.removeSungJuk(sjno))
			System.out.println("성공적으로 데이터 삭제됨!");
		
	}

	private static void modifySungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
		System.out.println(modmsg1);
		String sjno = sc.next(); // 수정할 학생번호입력
		
		System.out.println(modmsg2);
		SungJukVO sj = new SungJukVO(
				sc.next(), sc.nextInt(),
				sc.nextInt(), sc.nextInt()
				);
		sj.setSjno(sjno); // !!
		if(sjsrv.modifySungJuk(sj))
			System.out.println("성공적으로 데이터 수정됨!!");
		
	}

	public static void addSungJuk( Scanner sc, JDBCSungJuk sjsrv){
		System.out.println(addmsg);
		
		SungJukVO sj = new SungJukVO(sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
		sjsrv.newSungJuk(sj);
	}	// 성적데이터를 입력받아 sungjuk테이블에 저장
	
	public static void showSungJuk( JDBCSungJuk sjsrv){
		System.out.println( sjsrv.readSungJuk());
	}	// sungjuk테이블에 저장된 성적데이터 모두 출력
	

	
}
